]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
appDisplay: Add AppFolderPopup destroy handler
authorRay Strode <rstrode@redhat.com>
Mon, 22 Jul 2019 15:02:10 +0000 (11:02 -0400)
committerRay Strode <halfline@gmail.com>
Tue, 23 Jul 2019 14:53:24 +0000 (14:53 +0000)
At the moment AppFolderPopup calls popdown on destruction,
which leads to open-state-changed getting emitted after
the actor associated with the popup is destroyed.

This commit handles ungrabbing and closing from an
actor destroy handler to side-step the open-state-changed
signal.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

js/ui/appDisplay.js

index cd7a23e96b81a9dcc1dbc77390674f4762a589b3..7c2eaf02727ce05943739cc5f13d861d43c159d1 100644 (file)
@@ -1315,6 +1315,15 @@ var AppFolderPopup = class AppFolderPopup {
         });
         this._grabHelper.addActor(Main.layoutManager.overviewGroup);
         this.actor.connect('key-press-event', this._onKeyPress.bind(this));
+        this.actor.connect('destroy', this._onDestroy.bind(this));
+    }
+
+    _onDestroy() {
+        if (this._isOpen) {
+            this._isOpen = false;
+            this._grabHelper.ungrab({ actor: this.actor });
+            this._grabHelper = null;
+        }
     }
 
     _onKeyPress(actor, event) {